package com.javasm.adminapi.module.system.entity;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.util.List;

import com.javasm.adminapi.module.system.dto.MenuTypeDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 用户表(User)表实体类
 *
 * @author makejava
 * @since 2025-10-14 21:47:38
 */
@SuppressWarnings("serial")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User extends Model<User> {
//用户ID
    @TableId(type = IdType.AUTO)
    private Long id;
//登录用户名
    private String username;
//密码（加密存储）
    private String password;
//最后一次登录时间
    private Date lastLoginTime;
//创建时间
    private Date createTime;
//手机号
    private String phone;
//邮箱
    private String email;
//头像地址
    private String avatarUrl;
//用户状态（0=封停，1=正常）
    private Integer status;
//创建人ID（关联user表id）
    private Long createBy;
//部门ID（关联部门表）
    private Long deptId;
//职位ID（关联职位表）
    private Long positionId;
//角色ID（关联角色表）
    private Long userRoleId;
//用户性别（1=男，2=女，0=未知）
    private Integer gender;
//用户备注
    private String remark;
    //用户昵称
    private String nickname;

    @TableField(exist = false)
    private String code;

    @TableField(exist = false)
    private Role role;

    @TableField(exist = false)
    List<MenuTypeDTO> urlList;

}
